import { I18nService } from 'nestjs-i18n';
import { Test, TestingModule } from '@nestjs/testing';
import { I18nModule } from 'nestjs-i18n';
import { join } from 'path';

async function testDirectI18n() {
    console.log('🔍 直接测试 nestjs-i18n 服务...\n');

    const module: TestingModule = await Test.createTestingModule({
        imports: [
            I18nModule.forRoot({
                fallbackLanguage: 'en',
                loaderOptions: {
                    path: join(process.cwd(), 'src/i18n/locales/'),
                    watch: true,
                },
            }),
        ],
    }).compile();

    const i18nService = module.get<I18nService>(I18nService);

    try {
        // 测试英文翻译
        const enMessage = i18nService.translate('auth.login_success', { lang: 'en' });
        console.log('英文翻译:', enMessage);

        // 测试中文翻译
        const zhMessage = i18nService.translate('auth.login_success', { lang: 'zh' });
        console.log('中文翻译:', zhMessage);

        // 测试默认翻译
        const defaultMessage = i18nService.translate('auth.login_success');
        console.log('默认翻译:', defaultMessage);

    } catch (error) {
        console.error('翻译测试失败:', error);
    }

    await module.close();
}

testDirectI18n().catch(console.error);
